package com.reggie.utils;

import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import static com.reggie.common.Constant.URL;

/**
 * @Author 早睡蛋
 * @Date 2022/6/12 14:39:16
 * @Desc:图片上传工具类
 */
@Component
@Service
public class FileUpdateUtil {


    /**
     *
     * @param file    文件
     * @param filePath  文件储存位置
     * @param dataPath  文件再数据库中的储存的名称
     * @return
     */
    public Map uploadImages(MultipartFile file, String filePath, String dataPath) {
        Map<String, String> map = new HashMap<>();
        try {
            String fileName = IDUtil.createByUUID()+file.getOriginalFilename();
            //储存到实际地址位置
            file.transferTo(new File(filePath, fileName));
            //储存在数据库中的地址
            String dataBasePath = dataPath + fileName;
            //前端映射地址
            String fileUrl = URL + dataBasePath;
            map.put("dataPath", dataBasePath);
            map.put("fileUrl", fileUrl);
            map.put("desc", fileName);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return map;
    }

}
